An expressive stateful aspect language
نویسندگان
چکیده
Stateful aspects can react to a program execution; they support modular implementations of several crosscutting concerns like error detection, security, event handling, and debugging. However, most proposed stateful aspect languages have specifically been tailored to address a particular concern. Indeed, most of these languages differ in their pattern languages and semantics. As a consequence, developers need to tweak aspect definitions in contortive ways or create new specialized stateful aspect languages altogether if their specific needs are not supported. In this paper, we describe ESA, an expressive stateful aspect language, in which the pattern language is Turing-complete and patterns themselves are reusable, composable first-class values. In addition, the core semantic elements of every aspect in ESA is open to customization. We describe ESA in a typed functional language. We use this description to develop a concrete and practical implementation of ESA for JavaScript. With this implementation, we illustrate the expressiveness of ESA in action with examples of diverse scenarios and expressing semantics of existing stateful aspect languages.
منابع مشابه
Virtual Machine Support for Stateful Aspects
State Machines are very useful for modeling behavior of reactive systems. Stateful aspects have been proposed as a way to declaratively attach advice to transitions in a State Machine, so that the State Machine structure is seen in the implementation. Vanderperren et al. proposed an extension of the JAsCo Aspect-Oriented Programming Language for stateful aspects. This work proposes a low-overhe...
متن کاملTowards Expressive Publish/Subcribe Systems
Traditional content based publish/subscribe (pub/sub) systems allow users to express stateless subscriptions evaluated on individual events. However, many applications such as monitoring RSS streams, stock tickers, or management of RFID data streams require the ability to handle stateful subscriptions. In this paper, we introduce Cayuga, a stateful pub/sub system based on nondeterministic finit...
متن کاملJumping Aspects Revisited
In this paper, we propose an extension of the JAsCo aspectoriented programming language for declaratively specifying a protocol fragment pointcut. The proposed pointcut language is equivalent to a finite state machine. Advices are attached to every transition specified in the pointcut protocol. We claim that stateful aspects benefit from run-time weaving and therefore introduce the JAsCo run-ti...
متن کاملSymbolic Model-Checking of Stateful Timed CSP Using BDD and Digitization
Stateful Timed CSP has been recently proposed to model (and verify) hierarchical real-time systems. It is an expressive modeling language which combines data structure/operations, complicated control flows (modeled using compositional process operators adopted from Timed CSP), and real-time requirements like deadline and within . It has been shown that Stateful Timed CSP is equivalent to closed...
متن کاملConcern specific languages and their implementation with abc
In this work first we introduce the notion of concern specific languages (CSL) which are to a specific crosscutting concern, what domain specific languages are to a specific domain. Implementing such CSLs was a tedious task in the past since no extensible frameworks for implementing crosscutting concerns existed. With the AspectBench Compiler (abc) [1], which was released in October, researcher...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Sci. Comput. Program.
دوره 102 شماره
صفحات -
تاریخ انتشار 2015